export type params = {
  funcCode: string;
};

export interface BusinessModalDataType {
  /**
   * 响应编码
   */
  code?: number;
  /**
   * 响应数据
   */
  data?: null | Data;
  /**
   * 响应消息
   */
  msg?: string;
  /**
   * 消息类型
   */
  msgType?: string;
}

export interface Data {
  /**
   * 业务功能其下所属的子集或者控件
   */
  funcCtlInfos?: null | FuncCTLInfos;
}

export interface FuncCTLInfos {
  /**
   * 该业务下的子集或者控件数组
   */
  children?: Array<null | Child> | null;
  /**
   * 创建人
   */
  createBy?: number | null;
  /**
   * 创建时间
   */
  createdAt?: null | string;
  /**
   * 软删标识（有值代表删除）
   */
  deletedAt?: null | string;
  /**
   * 后端开发业务功能编码（唯一）
   */
  developCode?: null | string;
  /**
   * 是否开启（1 开启 2 禁用）
   */
  enable?: number | null;
  /**
   * 业务功能编码（唯一）
   */
  funcCode?: null | string;
  /**
   * 业务功能类型（1 列表 2 表单 3 弹窗 4 页面 5 其他）
   */
  funcType?: number | null;
  /**
   * 主键id
   */
  id?: number | null;
  /**
   * 业务功能名称（唯一）
   */
  name?: null | string;
  /**
   * 前端业务功能编码（唯一）
   */
  pageCode?: null | string;
  /**
   * 后端请求地址
   */
  reqUrl?: null | string;
  /**
   * 更新人
   */
  updateBy?: number | null;
  /**
   * 更新时间
   */
  updatedAt?: null | string;
}

export interface Child {
  /**
   * 创建人
   */
  createBy?: number | null;
  /**
   * 创建时间
   */
  createdAt?: null | string;
  /**
   * 控件详情
   */
  ctlDetail?: null | CTLDetail;
  /**
   * 软删标识（有值代表删除）
   */
  deletedAt?: null | string;
  /**
   * 是否开启（1 开启 2 禁用）
   */
  enable?: number | null;
  /**
   * 业务id
   */
  funcId?: number | null;
  /**
   * 主键id
   */
  id?: number | null;
  /**
   * 是否为默认控件（1 是 2 否）
   */
  isDefault?: number | null;
  /**
   * 对象id（关联：控件表id或者子集表id）
   */
  objId?: number | null;
  /**
   * 关联对象（1 控件 2 子集）
   */
  ofType?: number | null;
  /**
   * 排序
   */
  orderNo?: number | null;
  /**
   * 值是否必填（1 是 2 否）
   */
  required?: number | null;
  /**
   * 布局大小（1~24）
   */
  span?: number | null;
  /**
   * 子集详情
   */
  subDetail?: null | SubDetail;
  /**
   * 更新人
   */
  updateBy?: number | null;
  /**
   * 更新时间
   */
  updatedAt?: null | string;
}

export interface CTLDetail {
  /**
   * 控件中文名（唯一）
   */
  cnName?: null | string;
  /**
   * 控件类型
   */
  componentType?: null | string;
  /**
   * 创建人
   */
  createBy?: number | null;
  /**
   * 创建时间
   */
  createdAt?: null | string;
  /**
   * 控件编码（唯一）
   */
  ctlCode?: null | string;
  /**
   * 软删标识（有值代表删除）
   */
  deletedAt?: null | string;
  /**
   * 是否开启（1 开启 2 禁用）
   */
  enable?: number | null;
  /**
   * 控件英文名（唯一）
   */
  enName?: null | string;
  /**
   * 控件数据库表列名（唯一）
   */
  fieldName?: null | string;
  /**
   * 主键id
   */
  id?: number | null;
  /**
   * 是否为默认控件（1 是 2 否）
   */
  isDefault?: number | null;
  /**
   * 控件排序
   */
  orderNo?: number | null;
  /**
   * 控件属性
   */
  props?: null | string;
  /**
   * 控件值是否必填（1 是 2 否）
   */
  required?: number | null;
  /**
   * 更新人
   */
  updateBy?: number | null;
  /**
   * 更新时间
   */
  updatedAt?: null | string;
}

export interface SubDetail {
  /**
   * 子集中文名（唯一）
   */
  cnName?: null | string;
  /**
   * 创建人
   */
  createBy?: number | null;
  /**
   * 创建时间
   */
  createdAt?: null | string;
  /**
   * 软删标识（有值代表删除）
   */
  deletedAt?: null | string;
  /**
   * 是否开启（1 开启 2 禁用）
   */
  enable?: number | null;
  /**
   * 子集英文名（唯一）
   */
  enName?: null | string;
  /**
   * 控件数据库表列名（唯一）
   */
  fieldName?: null | string;
  /**
   * 主键id
   */
  id?: number | null;
  /**
   * 是否为默认控件（1 是 2 否）
   */
  isDefault?: number | null;
  /**
   * 控件排序
   */
  orderNo?: number | null;
  /**
   * 控件属性
   */
  props?: null | string;
  /**
   * 子集编码（唯一）
   */
  subCode?: null | string;
  /**
   * 子集和控件关系数组对象（含控件信息）
   */
  subRelDetail: Array<null | SubRelDetail>;
  /**
   * 更新人
   */
  updateBy?: number | null;
  /**
   * 更新时间
   */
  updatedAt?: null | string;
}

export interface SubRelDetail {
  /**
   * 控件id
   */
  controlId?: number | null;
  /**
   * 创建人
   */
  createBy?: number | null;
  /**
   * 创建时间
   */
  createdAt?: null | string;
  /**
   * 控件中文名（唯一）
   */
  ctlCnName?: null | string;
  /**
   * 控件编码（唯一）
   */
  ctlCode?: null | string;
  /**
   * 控件类型
   */
  ctlComponentType?: null | string;
  /**
   * 控件创建人
   */
  ctlCreateBy?: number | null;
  /**
   * 控件创建时间
   */
  ctlCreatedAt?: Date | null;
  /**
   * 控件软删标识（有值代表删除）
   */
  ctlDeletedAt?: Date | null;
  /**
   * 是否开启（1 开启 2 禁用）
   */
  ctlEnable?: number | null;
  /**
   * 控件英文名（唯一）
   */
  ctlEnName?: null | string;
  /**
   * 控件数据库表列名（唯一）
   */
  ctlFieldName?: null | string;
  /**
   * 控件id
   */
  ctlId?: number | null;
  /**
   * 是否为默认控件（1 是 2 否）
   */
  ctlIsDefault?: number | null;
  /**
   * 控件排序
   */
  ctlOrderNo?: number | null;
  /**
   * 控件值是否必填（1 是 2 否）
   */
  ctlRequired?: number | null;
  /**
   * 控件更新人
   */
  ctlUpdateBy?: number | null;
  /**
   * 控件更新时间
   */
  ctlUpdatedAt?: Date | null;
  /**
   * 软删标识（有值代表删除）
   */
  deletedAt?: null | string;
  /**
   * 是否开启（1 开启 2 禁用）
   */
  enable?: number | null;
  /**
   * 主键id
   */
  id?: number | null;
  /**
   * 是否为默认控件（1 是 2 否）
   */
  isDefault?: number | null;
  /**
   * 排序
   */
  orderNo?: number | null;
  /**
   * 控件属性
   */
  props?: null | string;
  /**
   * 值是否必填（1 是 2 否）
   */
  required?: number | null;
  /**
   * 布局大小（1~24）
   */
  span?: number | null;
  /**
   * 控件子集id
   */
  subsetId?: number | null;
  /**
   * 更新人
   */
  updateBy?: number | null;
  /**
   * 更新时间
   */
  updatedAt?: null | string;
}
